stage.set_background("moon")
sprite = codesters.Sprite("hedgehog", 0, -210)
score = 0
#my_display = codesters.Display(my_var, x, y)
score_display = codesters.Display(score, -210, -210)
time = 60
#my_display = codesters.Display(my_var, x, y)
time_display = codesters.Display(time, 210, -210)
def left_key():
rotation = sprite.get_rotation()
print(rotation)
sprite.set_rotation(rotation+3)
# add other actions...
stage.event_key("left", left_key)
def right_key():
rotation = sprite.get_rotation()
print(rotation)
sprite.set_rotation(rotation-3)
# add other actions...
stage.event_key("right", right_key)
def interval():
global time
time -=1
time_display.update(time)
if time % 2 == 0:
x = random.randint(-230,230)
y = random.randint(0,230)
star = codesters.Star(x, y, 5, 20, "yellow")
if time == 0:
stage.remove_all_events()
stage.event_interval(interval, 1)
def release_key(sprite):
sprite.say("BLAST OFF!", 1, "white")
sprite.move_forward(575)
stage.wait(0.1)
sprite.go_to(0, -210)
# add other actions...
sprite.event_key_release("space", release_key)
def collision(sprite, hit_sprite):
global score
score += 1
score_display.update(score)
stage.remove_sprite(hit_sprite)
# add any other actions...
sprite.event_collision(collision)
t = codesters.Teacher()
call = t.find_function('event_key_release')
mod_text = t.find_text('%')
try:
call_line = int(call[0][0])
call_text = call[0][1].replace(" ", "")
call_line_indent = t.get_indent_at_line(call_line)
except:
call_line = -1
call_text = "DNE"
call_line_indent = -1
try:
tval1 = time
except:
tval1 = "DNE"
try:
tval2 = mod_text[0][1].replace(' ','')
tval2b = mod_text[0][0]
tval2_indent = t.get_indent_at_line(tval2b)
except:
tval2 = "DNE"
tval2b = -1
tval2_indent = "DNE"
t1 = TestObjective()
t1.add_success(tval1 != 60, "Great job!")
t1.add_failure(tval1 == 60, "Did you change time's value from 60 to another number?")
t1.add_failure(tval1 == -1, "Oops! Did you delete time?")
t2 = TestObjective()
t2.add_success(tval2 == "iftime%3==0:" and tval2_indent == 4, "Great job!")
t2.add_failure(tval2 == "iftime%2==0:", "Did you change the nuber after modulo to 3?")
t2.add_failure(tval2 == "DNE", "Oops! Did you delete the if-statement?")
t3 = TestObjective()
t3.add_success(call_text == 'sprite.event_key_release("up",release_key)', "Great job!")
t3.add_failure(call_text == 'sprite.event_key_release("space",release_key)', "Did you change the key in the key release event handler?")
t3.add_failure(call_text == 'DNE', "Oops! Did you delete the key release event handler?")
tester = TestManager()
tester.add_test_list([t1, t2, t3])
tester.run_tests()
tester.display_first_feedback()
-
Run Code
-
Activity Submitted!
Submit Work
-
Stop Running Code
-
Show Chart
-
Show Console
-
Reset Code Editor
-
Codesters How To (opens in a new tab)